"""

# panel
六、分组：
    1.|,或者的意思
        a|b,a或者b
    2.(),代表了分组
        (abc)-->一组
        正则表达式中使用了分组，组默认是有编号的：1,2,3.。。
    3.\num,引用分组的内容
        num是分组的编号
    4.(?P<name>),给分组起别名
    5.(?P=name),引用分组
        P字母大写

group()-->获取匹配上的内容

"""

import re

#  一面墙  一个大的字符串
# 组    不同种类的瓷砖


# pattern = '[abc]'  # 单个字符的匹配
# pattern = '\w+-(\d+)-(\w+)'
# string = 'bcddfff-3456-fsffskj'
# pattern = r'(\w+)-(\w+)-(\w+)-\3-\2-\1'
pattern = r'(?P<html>\w+)-(?P<img>\w+)-(?P<div>\w+)-(?P=div)-(?P=img)-(?P=html)'
string = 'html-img-div-div-img-html'
res = re.match(pattern, string)
# print(res.group('html'))
# print(res.groups())
print(res.groups())
print(res.group('html'))
print(res.group('img'))
print(res.group('div'))